package thread;

/**
 * 线程的优先级
 * 线程有10个优先级，分别对应整数1-10，其中1为最低 10为最高 5为默认值
 * 线程start（）方法调用后便纳入线程调度器中并发运行 线程只能被动被分配时间片进行并发
 * 而调度器会尽可能均匀分配时间片
 * 通过调整线程的优先级级可以最大程度的改善获取时间片的概率 优先级越高的线程获取时间片
 * 的次数越多
 */

public class PriorityDemo {
    public static void main(String[] args) {
        Thread min = new Thread(){
            public void run(){
                for (int i = 0; i <1000 ; i++) {
                    System.out.println("max");

                }
            }
        };
        Thread norm = new Thread(){
            public void run(){
                for (int i = 0; i <1000 ; i++) {
                    System.out.println("nor");
                }
            }
        };

        Thread max = new Thread(){
            public void run(){
                for (int i = 0; i <1000 ; i++) {
                    System.out.println("max");

                }
            }
        };
        min.setPriority(Thread.MIN_PRIORITY); //min.setPriority  1
        max.setPriority(Thread.MAX_PRIORITY);//max.setPriority  10
        min.start();
        norm.start();
        max.start();


    }
}
